home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / STDLIB.PAK / P_QUEUE.CPP < prev    next >
Text File  |  1997-05-06  |  1KB  |  64 lines

  1.  #include <queue>
  2.  #include <deque>
  3.  #include <vector>
  4.  #include <string>
  5.  
  6.  using namespace std;
  7.  
  8.  int main ()
  9.  {
  10.    //
  11.    // Make a priority queue of int  using a deque container.
  12.    //
  13.    priority_queue<int, vector<int>, less<int> > pq;
  14.    //
  15.    // Push a couple of values.
  16.    //
  17.    pq.push(1);
  18.    pq.push(2);
  19.    //
  20.    // Pop a couple of values and examine the ends.
  21.    //
  22.    cout << pq.top() << endl;
  23.    pq.pop();
  24.    cout << pq.top() << endl;
  25.    pq.pop();
  26.    //
  27.    // Make a priority queue of strings.
  28.    //
  29.    priority_queue<string,deque<string>, less<string> > pqs;
  30.    //
  31.    // Push on a few strings then pop them back off.
  32.    //
  33.    int i;
  34.    for (i = 0; i < 10; i++)
  35.    {
  36.      pqs.push(string(i+1,'a'));
  37.      cout << pqs.top() << endl;
  38.    }
  39.    for (i = 0; i < 10; i++)
  40.    {
  41.      cout << pqs.top() << endl;
  42.      pqs.pop();
  43.    }
  44.    //
  45.    // Make a priority queue of strings using greater.
  46.    //
  47.    priority_queue<string,deque<string>, greater<string> > pgqs;
  48.    //
  49.    // Push on a few strings then pop them back off.
  50.    //
  51.    for (i = 0; i < 10; i++)
  52.    {
  53.      pgqs.push(string(i+1,'a'));
  54.      cout << pgqs.top() << endl;
  55.    }
  56.    for (i = 0; i < 10; i++)
  57.    {
  58.      cout << pgqs.top() << endl;
  59.      pgqs.pop();
  60.    }
  61.  
  62.    return 0;
  63.  }
  64.